home *** CD-ROM | disk | FTP | other *** search
-
-
-
-
- ╥EAD ╘RACK
-
- BY
-
- ═L ┬UG
-
- ├OPYRIGHT 1987
-
- ┴LL ╥IGHTS ╥ESERVED
-
- ┴ FEW WEEKS BACK, ╔ WAS SHOWN A COMMERCIAL COPIER THAT CLAIMED TO
- CONVERT ╟├╥ DATA TO BINARY. ╔T DIDN'T WORK! ╙O ╔ THOUGHT IT WAS TIME
- TO DISTRIBUTE MY ╟├╥ CONVERSION ROUTINE ╔ WROTE TWO YEARS AGO.
-
- ╘HIS ROUTINE REQUIRES YOU HAVE A MACHINE LANGUAGE MONITOR
- RESIDING AT $C000. ╫HEN THE ROUTINE ENDS, IT BREAKS BACK TO THE
- MONITOR THERE SO YOU CAN CONTINUE.
-
- ╥EAD TRACK READS ANY TRACK OR HALF TRACK, WITH EITHER STANDARD OR
- NON-STANDARD DENSITY.
-
- ╘HE DATA IS TRANSFERED TO THE 64 IN GROUP CODE RECORDING, (╟├╥),
- AND CAN BE CONVERTED TO BINARY FOR INSPECTION.
-
- ╟ROUP CODE RECORDING IS ├OMMODORES WAY OF INSURING AN ERROR FREE
- READ AND WRITE TO THE DISK. ╙IMPLY STATED, AN EIGHT BIT BINARY WORD IS
- CONVERTED TO A TEN BIT ╟├╥ WORD. ╬ONE OF THESE TEN BIT ╟├╥ WORDS WILL
- BE THE NUMBER #$FF. ╘HIS IS RESERVED BY THE DOS AS A SYNC BYTE USED BY
- THE DOS TO IDENTIFY THE BEGINNING AND ENDING OF HEADERS AND ACTUAL
- DATA.
-
- ╒NDER NORMAL CONDITIONS A HEADER BLOCK CONSISTS OF 16 BYTES. ╘HE
- DATA CONTAINED IS AS FOLLOWS.
-
- ┬YTE 0 IS A SYNC MARK. ╘HE DOS KNOWS THAT WHAT TO FOLLOW IS DATA.
-
- ┬YTE 1 ╚EADER BLOCK ╔.─.. ╔N ╟├╥ THIS WOULD BE AN #$55, WHEN CONVERTED
- TO BINARY IT WOULD BE AN #$08.
-
- ┬YTE 2 ╚EADER BLOCK CHECKSUM. ─ERIVED BY EXCLUSIVE ORING, (EOR), THE
- TRACK NUMBER, SECTOR NUMBER, AND THE TWO ╔.─. CHARACTERS USED TO
- FORMAT THE DISK.
-
- ┬YTE 3 ╙ECTOR NUMBER.
-
- ┬YTE 4 ╘RACK NUMBER.
-
- ┬YTE 5 ╙ECOND ╔.─. CHARACTER.
-
- ┬YTE 6 ╞IRST ╔.─. CHARACTER.
-
- ╘HE REST OF THE HEADER WOULD BE THE NUMBER #$55 IN ╟├╥, #$0F IN
- BINARY. ╘HEY ARE USED AS SPACING, (TIMING), TO GIVE THE DOS TIME TO
- PREPARE TO READ THE DATA THAT FOLLOWS.
-
- ─ENSITY HAS NO EFFECT ON THE HEADER DATA, ONLY THE ACTUAL 256
- BYTES OF DATA FOR THAT SECTOR. ╘HE HEADER CAN BE READ USING ANY
- DENSITY.
-
- ┴FTER THE ROUTINE IS FINISHED, THIS HEADER INFORMATION CAN BE READ BY DISPLAYING MEMORY AT $8000.
-
- ╘HE DATA BLOCK HAS IT'S OWN HEADER INFORMATION ALSO. ╔T IS AS
- FOLLOWS.
-
- ┬YTE 0 ╙YNC MARK. ╘HIS NUMBER CAN BE ANY NUMBER ENDING IN "F", I.E.,
- #$FF, #$3F ETC..
-
- ┬YTE 1 ─ATA BLOCK ╔.─.. ╘HE #$55 ╟├╥, AND WHEN CONVERTED #$07 BINARY.
-
- ╘HIS IS FOLLOWED BY THE 256 BYTES OF DATA FOR THAT SECTOR.
-
- ┴FTER THE DATA IS THE CHECKSUM FOR THAT SECTOR, FOUND BY
- EXCLUSIVE ORING THE 256 BYTES OF DATA.
-
- ╫HEN 256 BYTES OF BINARY IS CONVERTED TO ╟├╥, YOU END UP WITH 326
- BYTES OF ╟├╥.
-
- ╨ROTECTED DISKS USUALLY DO NOT FOLLOW THE STANDARD CODING
- MENTIONED ABOVE. ┴T TIMES HEADER BLOCKS CAN BE MORE OR LESS THAN 16
- BYTES LONG, AND THE ╔.─. CHARACTERS WILL NOT BE THE SAME. ╞OR INSTANCE
- THE HEADER ╔.─. MAY BE AN #$53, AND THE DATA BLOCK ╔.─. WILL BE AN
- #$54, BUT YOU CAN STILL SPOT THE BEGINNING OF THE DATA BLOCK BY THE
- SYNC MARK PRECEDING IT END IN "F".
-
- ╔ SUGGEST YOU PRACTICE GETTING FARMILIAR WITH ╟├╥ USING STANDARD
- FORMATED DISKS AT FIRST. ╘HEN GO ON TO PROTECTED DISKS.
-
- ╥EAD TRACK ASKS FOR INFORMATION BEFORE READING A TRACK. ╔T ASKS
- FOR THE TRACK NUMBER. ╘HIS CAN BE FROM 1 TO 44, AND MUST BE ENTERED IN
- DECIMAL. ╔F THE NUMBER IS LESS THAN 10, THEN ENTER IT IN TWO NUMBERS,
- I.E., 09. ╔T THEN ASKS IF YOU WANT TO READ A HALF TRACK, (DATA WRITEN
- BETWEEN NORMAL TRACKS. ╔F YOU ANSWER YES, THE THE HALF TRACK READ WILL
- BE ONE HALF LESS THE TRACK ENTERED. ╔F YOU CHOSE TRACK 9, THEN TRACK 8
- 1/2 WILL BE READ. ┴FTER THIS YOU ARE ASKED FOR THE DENSITY, (SPEED AT
- WHICH READ WILL TAKE PLACE). ╘HE STANDARD DENSITIES FOR EACH TRACK ARE
- DISPLAYED. ╘RACKS ABOVE 35 ARE USUALLY READ WITH DENSITY NUMBER FOUR,
- BUT COULD HAVE BEEN FORMATED AT ANY DENSITY.
-
- ╘HE ROUTINE THEN STARTS. ┴FTER A SECOND OR TWO YOU WILL SEE TWO
- ROWS OF NUMBERS. ╘HESE ARE THE ERROR CODES FOUND FOR EACH SECTOR ON
- THE TRACK. ╘HE ERROR CODES YOU WILL ECOUNTER ARE AS FOLLOWS.
-
- #$01 ╧K NO ERROR.
-
- #$02 ╚EADER BLOCK NOT FOUND. ╘HIS MEANS THE TRACK NUMBER HAS BEEN
- CHANGED. ╞OR INSTANCE TRACK 8 WAS FORMATED AS TRACK 5.
-
- #$03 ╬O SYNC FOUND. ├OULD BE AN EMPTY TRACK, OR ╔ HAVE FOUND THAT THE
-
- HALF TRACK BELOW IS WHERE THE DATA IS.
-
- #$04 ─ATA BLOCK NOT FOUND. ╙AME AS HEADER BLOCK NOT FOUND.
-
- #$05 ─ATA BLOCK CHECKSUM ERROR. ╘HE CHECKSUM HAS BEEN ALTERED.
-
- #$07 ╓ERIFY ERROR AFTER WRITE. ╔'VE NEVER ENCOUNTERED THIS ONE.
-
- #$08 ╫RITE PROTECT ERROR. ╧NLY FOUND ON A WRITE TO DISK.
-
- #$09 ╚EADER BLOCK CHECKSUM ERROR. ╘HE CHECKSUM WAS ALTERED.
-
- #$0A ─ATA BLOCK TOO LONG. ═ORE THAN 256 BYTES OF DATA.
-
- #$0B ╔.─. MISMATCH. ╘HE TRACK HAS A DIFFERENT ╔.─. THAN THE ONE USED
- TO FORMAT THE DISK.
-
- #$10 ┬YTE DECODING ERROR. ╘HE ╟├╥ CONVERSION FAILED.
-
- ┴FTER THE ERROR CODES ARE DISPLAYED THE ROUTINE STARTS TO GATHER
- ╟├╥ DATA. ╔T IS PLACED INTO THE 64'S MEMORY STARTING AT $1000. ┼ACH
- BLOCK OF DATA REQUIRES 512 BYTES OF MEMORY. ╘HAT IS BECAUSE IT IS
- GATHERING 326 BYTES OF ╟├╥ DATA PLUS THE HEADER BLOCK INFORMATION. ╘HE
- DATA IS PLACED IN ORDER. ╔.┼., SECTOR 0 IS AT $1000, SECTOR 1 IS AT
- $1200 ETC..
-
- ╧NCE THE ROUTINE ENDS, YOU ARE READY TO CONVERT THE DATA. ╒SEING
- A MACHINE LANGUAGE MONITOR RESIDING AT $C000, TRANSFER 512 BYTES OF
- ╟├╥ CODE TO $7C00. (T 1000 1200 7C00). ╘HEN G 7200. ╘HE GCR CODE IS
- NOW CONVERTED TO BINARY, AND CAN BE READ BY DISPLAYNG DATA STARTING AT
- $7A00. (M 7A00).
-
- ╘HE FIRST 16 BYTES OF DATA AT $7A00 IS THE HEADER BLOCK. ╔T CAN
- BE INDENTIFIED BY THE #$08 PRECEDING IT. ┴FTER THAT IS THE DATA FOR
- THE SECTOR. ╔DENTIFIED BY THE #$07 PRECEDING IT.
-
- ╬ORMALY DATA ABOVE TRACK 40 IS RARE. ╔F YOU TRY READING TRACKS
- HIGHER THAN 40 YOU MAY LOCK THE HEAD UP OUT THERE. ╔T CAUSES NO DAMAGE
- TO THE DRIVE, BUT GETTING THE HEAD BACK IS A PAIN. ╘O UNLOCK THE HEAD
- JUST TRY LOADING * FROM BASIC. ╔T MAY TAKE A FEW ATTEMPTS THE THE
- DRIVE PART, BUT THE HEAD WILL UNLOCK AND GO BACK TO NORMAL.
-
- ╒SE WRITE PROTECT TABS ON ALL DISKS. ╔ HAVE BEEN USING THIS
- ROUTINE FOR TWO YEARS WITH NO PROBLEMS, BUT WHY TAKE A CHANCE?
-
- ╘O LOAD THIS ROUTINE LOAD READ TRACK WITH A MACHINE LANGUAGE
- MONITOR, OR FROM BASIC USING A ,1. ╘HEN EITHER G 7000 OR SYS7*4096.
-
- ╘HIS PROGRAM MAY BE COPIED AND PASSED ON TO OTHERS, AS LONG AS IT
- IS COPIED IN IT'S ENTIRITY. ╔NCLUDING ANY DOCUMENTATION PROVIDED.
-
- ╘HE SOURCE CODE FOR THIS PROGRAM IS AVAILABLE FOR $15.00. ╙END
- CHECK OR MONEY ORDER, A POSTAGE PAID MAILER, AND BLANK DISK TO-
-
-
- ├. ╠E ═IEUX
- 164 ╩ACKSON ┴V.
- ┴LLENSTOWN, ╬.╚. 03275
-
-